package com.linkhub.oms.admin.modules.whitelist.service;

import com.linkhub.oms.admin.modules.whitelist.domain.param.WhiteListInsertParam;
import com.linkhub.oms.admin.modules.whitelist.domain.vo.WhiteListApprovalVO;
import com.linkhub.oms.common.response.PageDTO;

/**
 * @Description: WhiteListApprovalBizService
 * @Author: echo
 * @Date: 2024/3/8 21:59
 * @Version: 1.0
 */
public interface WhiteListApprovalBizService {

    /**
     * 用户申请白名单
     *
     * @param email email
     */
    void applyVipCustomer(String email);


    /**
     * 分页查询白名单审批记录表
     *
     * @param keyword       keyword
     * @param processStatus processStatus
     * @param page          page
     * @param size          size
     * @return list
     */
    PageDTO<WhiteListApprovalVO> pageWhiteListApprovals(String keyword,
                                                        Integer processStatus,
                                                        Integer page,
                                                        Integer size);

    /**
     * 单个审批白名单记录
     *
     * @param id             记录id
     * @param approvalStatus approvalStatus
     */
    void approveById(Long id, Integer approvalStatus);

    /**
     * 批量添加到白名单
     *
     * @param whiteListInsertParam whiteListInsertParam
     */
    void addBatch(WhiteListInsertParam whiteListInsertParam);
}
